package pe.gob.mintra.trabajadoreshogar.daoimpl;

import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import pe.gob.mintra.trabajadoreshogar.bean.Empleador;
import pe.gob.mintra.trabajadoreshogar.bean.Sucursal;
import pe.gob.mintra.trabajadoreshogar.dao.SucursalDAO;
import pe.gob.mintra.trabajadoreshogar.factory.MyBatisConnectionFactory;
public class SucursalDAOImp implements SucursalDAO {
	
	private SqlSessionFactory sqlSessionFactory;

	public SucursalDAOImp() {
		sqlSessionFactory = MyBatisConnectionFactory.getSqlSessionFactory();
	}

	
	
	@Override
	public List<Sucursal> listarSucursal(Empleador objEmpleador) {
		List<Sucursal> lstSucursal= new ArrayList<Sucursal>();
		SqlSession session = sqlSessionFactory.openSession();
		
		try{
			lstSucursal = (List<Sucursal>) session.selectList(
					"Sucursal.listarSucursal", objEmpleador);
		}catch(Exception ex){
			
		}finally{
			session.close();
		}
		
		
		return lstSucursal;
	}



	@Override
	public List<Sucursal> listarSucursalDomicilio(Empleador objEmpleador) {
		List<Sucursal> lstSucursalDomicilio= new ArrayList<Sucursal>();
		SqlSession session = sqlSessionFactory.openSession();
		
		try{
			lstSucursalDomicilio = (List<Sucursal>) session.selectList(
					"Sucursal.listarSucursalDomicilio", objEmpleador);
		}
		catch(Exception ex){
			
		}finally{
			session.close();
		}
		
		
		return lstSucursalDomicilio;
	}



	@Override
	public void insertarSucursalDomicilio(Sucursal objSucursal) {
		SqlSession session = sqlSessionFactory.openSession();

		try {
			
			session.insert("Sucursal.insertarSucursalDomicilio",objSucursal);
		} 
		catch(Exception ex){
			System.out.println(ex.getMessage());
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}



	@Override
	public void actualizarSucursalDomicilio(Sucursal objSucursal) {
		SqlSession session = sqlSessionFactory.openSession();

		try {
			
			session.update("Sucursal.actualizarSucursalDomicilio",objSucursal);
		} 
		catch(Exception ex){
			System.out.println(ex.getMessage());
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}

}
